<?php
    namespace Core\Generique;
    /**
     * La classe Modifiable permet juste d'indiquer que les instances de cet Objet doivent avoir une date d'ajout et une date de 
     * modification
     *
     * @author mpetrini
     */
    abstract class Modifiable extends \Core\ORM\Modele {
        /**
        * @var \DateTime $dateAjout 
        */
        protected $dateAjout;
        /**
        * @var \DateTime $dateModification 
        */
        protected $dateModification;
        
        /**
        * Constructeur complet
        * 
        * @param int $id
        * @param \DateTime $dateAjout
        * @param \DateTime $dateModification
        *  
        * @return void 
        */
        public function __construct($id, $dateAjout, $dateModification) {
            parent::__construct($id);
            $this->setDateAjout($dateAjout);
            $this->setDateModification($dateModification);
        }
        
        //GETTERS ET SETTERS
        public function getDateAjout($format = null) {return \Utils\Outils::getterDate($this->date_ajout, $format);}
        public function setDateAjout($dateAjout) {$this->dateAjout=\Utils\Outils::setterDate($dateAjout);}
        public function getDateModification($format = null) {return \Utils\Outils::getterDate($this->dateModification, $format);}
        public function setDateModification($dateModification) {$this->dateModification=\Utils\Outils::setterDate($dateModification);}
    }
?>